package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DfDictamen generated by hbm2java
 */
@Entity
@Table(name = "DF_DICTAMEN", schema = "DICTAMEN")
@SequenceGenerator(name="SEQ_DF_DICTAMEN" , sequenceName="SEQ_DF_DICTAMEN")
public class DfDictamen implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7094938747121103662L;
	private Long ndictamen;
	private DfEstadoDicta dfEstadoDicta;
	private RcRuc rcRuc;
	private TbUnidad tbUnidad;
	
	private String ndocumento;
	private Date fpinicio;
	private Date fpfin;
	private Date fpresentacion;
	private Integer bextemporanea;
	private String cusuario;
	private Date fhingreso;
	private Date fhmodificacion;
	private Date fdictamen;
	private String snotas;
	private Date facuerdo;
	private Integer bcompleto;
	private Double vactivoactual; //adic. x mirday el 121109 bug.2437 # Mar�a Ester
	private Date fiactivoactual;
	private Date ffactivoactual;
	private Double vactivoanterior;
	private Date fiactivoanterior;
	private Date ffactivoanterior;
	private Double vpatrimactual;
	private Date fipatrimactual;
	private Date ffpatrimactual;
	private Double vpatrimanterior;
	private Date fipatrimanterior;
	private Date ffpatrimanterior;
	
	private Double vsuperavitactual;
	private Double vsuperavitanterior;
	private Date fisuperavitactual;
	private Date ffsuperavitactual;
	private Date fisuperavitanterior;
	private Date ffsuperavitanterior;
	

	private Set<DfObligDicta> dfObligDictas = new HashSet<DfObligDicta>(0);
	private Set<DfDeficDicta> dfDeficDictas = new HashSet<DfDeficDicta>(0);
	private Set<DfDocPresenta> dfDocPresentas = new HashSet<DfDocPresenta>(0);
	private Set<DfDictaNombra> dfDictaNombras = new HashSet<DfDictaNombra>(0);

	public DfDictamen() {
	}

	public DfDictamen(Long ndictamen, DfEstadoDicta dfEstadoDicta, RcRuc rcRuc,
			  Date fpinicio, Date fpresentacion,
			Integer bextemporanea, String cusuario, Date fhingreso,
			Integer bcompleto, Double vactivoactual, Double vsuperavitactual,
			Double vsuperavitanterior) {
		this.ndictamen = ndictamen;
		this.dfEstadoDicta = dfEstadoDicta;
		this.rcRuc = rcRuc;
	 
		this.fpinicio = fpinicio;
		this.fpresentacion = fpresentacion;
		this.bextemporanea = bextemporanea;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.bcompleto = bcompleto;
		this.vactivoactual = vactivoactual;
		
		this.fiactivoactual = fiactivoactual;
		this.ffactivoactual = ffactivoactual;
		this.vactivoanterior = vactivoanterior;
		this.fiactivoanterior = fiactivoanterior;
		this.ffactivoanterior = ffactivoanterior;
		this.vpatrimactual = vpatrimactual;
		this.fipatrimactual = fipatrimactual;
		this.ffpatrimactual = ffpatrimactual;
		this.vpatrimanterior = vpatrimanterior;
		this.fipatrimanterior = fipatrimanterior;
		this.ffpatrimanterior = ffpatrimanterior;
		this.vsuperavitactual = vsuperavitactual;
		this.vsuperavitanterior = vsuperavitanterior;
		this.fisuperavitactual = fisuperavitactual;
		this.ffsuperavitactual = ffsuperavitactual;
		this.fisuperavitanterior = fisuperavitanterior;
		this.ffsuperavitanterior = ffsuperavitanterior;
		
	}

	public DfDictamen(Long ndictamen, DfEstadoDicta dfEstadoDicta, RcRuc rcRuc,
			TbUnidad tbUnidad,   Date fpinicio,
			Date fpfin, Date fpresentacion, Integer bextemporanea,
			String cusuario, Date fhingreso, Date fhmodificacion,
			Date fdictamen, String snotas, Date facuerdo, Integer bcompleto,
			Double vactivoactual, 
			Date fiactivoactual, Date ffactivoactual, Double vactivoanterior,
			Date fiactivoanterior, Date ffactivoanterior, Double vpatrimactual,
			Date fipatrimactual, Date ffpatrimactual, Double vpatrimanterior,
			Date fipatrimanterior, Date ffpatrimanterior, Double vsuperavitactual, 
			Double vsuperavitanterior,
			Date fisuperavitactual, Date ffsuperavitactual, Date fisuperavitanterior, 
			Date ffsuperavitanterior,
			Set<DfObligDicta> dfObligDictas, Set<DfDeficDicta> dfDeficDictas,
			Set<DfDocPresenta> dfDocPresentas, Set<DfDictaNombra> dfDictaNombras) {
		this.ndictamen = ndictamen;
		this.dfEstadoDicta = dfEstadoDicta;
		this.rcRuc = rcRuc;
		this.tbUnidad = tbUnidad;
		 
		this.fpinicio = fpinicio;
		this.fpfin = fpfin;
		this.fpresentacion = fpresentacion;
		this.bextemporanea = bextemporanea;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.fdictamen = fdictamen;
		this.snotas = snotas;
		this.facuerdo = facuerdo;
		this.bcompleto = bcompleto;
		this.vactivoactual = vactivoactual;
		this.fiactivoactual = fiactivoactual;
		this.ffactivoactual = ffactivoactual;
		this.vactivoanterior = vactivoanterior;
		this.fiactivoanterior = fiactivoanterior;
		this.ffactivoanterior = ffactivoanterior;
		this.vpatrimactual = vpatrimactual;
		this.fipatrimactual = fipatrimactual;
		this.ffpatrimactual = ffpatrimactual;
		this.vpatrimanterior = vpatrimanterior;
		this.fipatrimanterior = fipatrimanterior;
		this.ffpatrimanterior = ffpatrimanterior;
		this.vsuperavitactual = vsuperavitactual;
		this.vsuperavitanterior = vsuperavitanterior;
		this.dfObligDictas = dfObligDictas;
		this.dfDeficDictas = dfDeficDictas;
		this.dfDocPresentas = dfDocPresentas;
		this.dfDictaNombras = dfDictaNombras;
		this.fisuperavitactual = fisuperavitactual;
		this.ffsuperavitactual = ffsuperavitactual;
		this.fisuperavitanterior = fisuperavitanterior;
		this.ffsuperavitanterior = ffsuperavitanterior;
	}

	@Id
	@Column(name = "N_DICTAMEN", unique = true, nullable = false, precision = 10, scale = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_DF_DICTAMEN")
	public Long getNdictamen() {
		return this.ndictamen;
	}

	public void setNdictamen(Long ndictamen) {
		this.ndictamen = ndictamen;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "C_ESTADO", nullable = false)
	public DfEstadoDicta getDfEstadoDicta() {
		return this.dfEstadoDicta;
	}

	public void setDfEstadoDicta(DfEstadoDicta dfEstadoDicta) {
		this.dfEstadoDicta = dfEstadoDicta;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "NIT", nullable = false)
	public RcRuc getRcRuc() {
		return this.rcRuc;
	}

	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "C_UNIDAD")
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

 

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_INICIO", nullable = false, length = 7)
	public Date getFpinicio() {
		return this.fpinicio;
	}

	public void setFpinicio(Date fpinicio) {
		this.fpinicio = fpinicio;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_FIN", length = 7)
	public Date getFpfin() {
		return this.fpfin;
	}

	public void setFpfin(Date fpfin) {
		this.fpfin = fpfin;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_PRESENTACION", nullable = false, length = 7)
	public Date getFpresentacion() {
		return this.fpresentacion;
	}

	public void setFpresentacion(Date fpresentacion) {
		this.fpresentacion = fpresentacion;
	}

	@Column(name = "B_EXTEMPORANEA", nullable = false, precision = 1, scale = 0)
	public Integer getBextemporanea() {
		return this.bextemporanea;
	}

	public void setBextemporanea(Integer bextemporanea) {
		this.bextemporanea = bextemporanea;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FH_MODIFICACION", length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_DICTAMEN", length = 7)
	public Date getFdictamen() {
		return this.fdictamen;
	}

	public void setFdictamen(Date fdictamen) {
		this.fdictamen = fdictamen;
	}

	@Column(name = "S_NOTAS")
	public String getSnotas() {
		return this.snotas;
	}

	public void setSnotas(String snotas) {
		this.snotas = snotas;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_ACUERDO", length = 7)
	public Date getFacuerdo() {
		return this.facuerdo;
	}

	public void setFacuerdo(Date facuerdo) {
		this.facuerdo = facuerdo;
	}

	@Column(name = "B_COMPLETO", nullable = false, precision = 1, scale = 0)
	public Integer getBcompleto() {
		return this.bcompleto;
	}

	public void setBcompleto(Integer bcompleto) {
		this.bcompleto = bcompleto;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dfDictamen")
	public Set<DfObligDicta> getDfObligDictas() {
		return this.dfObligDictas;
	}

	public void setDfObligDictas(Set<DfObligDicta> dfObligDictas) {
		this.dfObligDictas = dfObligDictas;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dfDictamen")
	public Set<DfDeficDicta> getDfDeficDictas() {
		return this.dfDeficDictas;
	}

	public void setDfDeficDictas(Set<DfDeficDicta> dfDeficDictas) {
		this.dfDeficDictas = dfDeficDictas;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dfDictamen")
	public Set<DfDocPresenta> getDfDocPresentas() {
		return this.dfDocPresentas;
	}

	public void setDfDocPresentas(Set<DfDocPresenta> dfDocPresentas) {
		this.dfDocPresentas = dfDocPresentas;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dfDictamen")
	public Set<DfDictaNombra> getDfDictaNombras() {
		return this.dfDictaNombras;
	}

	public void setDfDictaNombras(Set<DfDictaNombra> dfDictaNombras) {
		this.dfDictaNombras = dfDictaNombras;
	}

	@Column(name = "N_DOCUMENTO", nullable = false, length = 12)
	public String getNdocumento() {
		return ndocumento;
	}

	public void setNdocumento(String ndocumento) {
		this.ndocumento = ndocumento;
	}

	@Column(name = "V_ACTIVO_ACTUAL", precision = 18, scale = 2)
	public Double getVactivoactual() {
		return this.vactivoactual;
	}
	public void setVactivoactual(Double vactivoactual) {
		this.vactivoactual = vactivoactual;
	}	
	
	@Temporal(TemporalType.DATE)
	@Column(name = "FI_ACTIVO_ACTUAL", length = 7)
	public Date getFiactivoactual() {
		return this.fiactivoactual;
	}
	public void setFiactivoactual(Date fiactivoactual) {
		this.fiactivoactual = fiactivoactual;
	}	
	
	@Temporal(TemporalType.DATE)
	@Column(name = "FF_ACTIVO_ACTUAL", length = 7)
	public Date getFfactivoactual() {
		return this.ffactivoactual;
	}
	public void setFfactivoactual(Date ffactivoactual) {
		this.ffactivoactual = ffactivoactual;
	}	
		
	@Column(name = "V_ACTIVO_ANTERIOR", nullable = true, precision = 18, scale = 2)
	public Double getVactivoanterior() {
		return this.vactivoanterior;
	}
	public void setVactivoanterior(Double vactivoanterior) {
		this.vactivoanterior = vactivoanterior;
	}	

	@Temporal(TemporalType.DATE)
	@Column(name = "FI_ACTIVO_ANTERIOR", length = 7)
	public Date getFiactivoanterior() {
		return this.fiactivoanterior;
	}
	public void setFiactivoanterior(Date fiactivoanterior) {
		this.fiactivoanterior = fiactivoanterior;
	}	
	
	@Temporal(TemporalType.DATE)
	@Column(name = "FF_ACTIVO_ANTERIOR", length = 7)
	public Date getFfactivoanterior() {
		return this.ffactivoanterior;
	}
	public void setFfactivoanterior(Date ffactivoanterior) {
		this.ffactivoanterior = ffactivoanterior;
	}

	@Column(name = "V_PATRIM_ACTUAL", nullable = true, precision = 18, scale = 2)
	public Double getVpatrimactual() {
		return this.vpatrimactual;
	}
	public void setVpatrimactual(Double vpatrimactual) {
		this.vpatrimactual = vpatrimactual;
	}	

	@Temporal(TemporalType.DATE)
	@Column(name = "FI_PATRIM_ACTUAL", length = 7)
	public Date getFipatrimactual() {
		return this.fipatrimactual;
	}
	public void setFipatrimactual(Date fipatrimactual) {
		this.fipatrimactual = fipatrimactual;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FF_PATRIM_ACTUAL", length = 7)
	public Date getFfpatrimactual() {
		return this.ffpatrimactual;
	}
	public void setFfpatrimactual(Date ffpatrimactual) {
		this.ffpatrimactual = ffpatrimactual;
	}	

	@Column(name = "V_PATRIM_ANTERIOR", nullable = true, precision = 18, scale = 2)
	public Double getVpatrimanterior() {
		return this.vpatrimanterior;
	}
	public void setVpatrimanterior(Double vpatrimanterior) {
		this.vpatrimanterior = vpatrimanterior;
	}
	
	@Temporal(TemporalType.DATE)
	@Column(name = "FI_PATRIM_ANTERIOR", length = 7)
	public Date getFipatrimanterior() {
		return this.fipatrimanterior;
	}
	public void setFipatrimanterior(Date fipatrimanterior) {
		this.fipatrimanterior = fipatrimanterior;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FF_PATRIM_ANTERIOR", length = 7)
	public Date getFfpatrimanterior() {
		return this.ffpatrimanterior;
	}
	public void setFfpatrimanterior(Date ffpatrimanterior) {
		this.ffpatrimanterior = ffpatrimanterior;
	}	
	
	@Column(name = "V_SUPERAVIT_ACTUAL", nullable = true, precision = 18, scale = 2)
	public Double getVsuperavitactual() {
		return this.vsuperavitactual;
	}			
	public void setVsuperavitactual(Double vsuperavitactual) {
		this.vsuperavitactual = vsuperavitactual;
	}
				
	@Column(name = "V_SUPERAVIT_ANTERIOR", nullable = true, precision = 18, scale = 2)
	public Double getVsuperavitanterior() {
		return this.vsuperavitanterior;
	}
	public void setVsuperavitanterior(Double vsuperavitanterior) {
		this.vsuperavitanterior = vsuperavitanterior;
	}
	
	
				
				
				
				
	
	
	@Temporal(TemporalType.DATE)
	@Column(name = "FI_SUPERAVIT_ACTUAL", length = 7)
	public Date getFisuperavitactual() {
		return this.fisuperavitactual;
	}
	public void setFisuperavitactual(Date fisuperavitactual) {
		this.fisuperavitactual = fisuperavitactual;
	}	

	@Temporal(TemporalType.DATE)
	@Column(name = "FF_SUPERAVIT_ACTUAL", length = 7)
	public Date getFfsuperavitactual() {
		return this.ffsuperavitactual;
	}
	public void setFfsuperavitactual(Date ffsuperavitactual) {
		this.ffsuperavitactual = ffsuperavitactual;
	}	

	
	@Temporal(TemporalType.DATE)
	@Column(name = "FI_SUPERAVIT_ANTERIOR", length = 7)
	public Date getFisuperavitanterior() {
		return this.fisuperavitanterior;
	}
	public void setFisuperavitanterior(Date fisuperavitanterior) {
		this.fisuperavitanterior = fisuperavitanterior;
	}	

	@Temporal(TemporalType.DATE)
	@Column(name = "FF_SUPERAVIT_ANTERIOR", length = 7)
	public Date getFfsuperavitanterior() {
		return this.ffsuperavitanterior;
	}
	public void setFfsuperavitanterior(Date ffsuperavitanterior) {
		this.ffsuperavitanterior = ffsuperavitanterior;
	}	

	
	
}
